Javascript 還有其他的循環方式,來應付不同的情況,接下來我們就繼續介紹吧。
For of 循環用法
除了迭帶平常的陣列、物件以外,For of 還可以迭帶出比較特別的對象,像是字符串。
用法
for (const 儲存的變量 of 迭帶對象) {
要做的事情
}
for (const iterator of object) {
console.log(iterator);
}
範例
我們將宣告person變數,是一個陣列,並用For of 去迭帶陣列,將陣列印出來。
let person = ["jason", "leo", "dina"];
for (const iterator of person) {
console.log(iterator);
}
打開F12控制台,我們可以分別看到將陣列裡的元素('jason'、'leo'、'dina')給印出來。
那如果今天是字符串呢?一樣可以把字符串分離並迭帶出來嗎?讓我們試試看吧!
範例
let name = "helloWorld";
for (const iterator of name) {
console.log(iterator);
}
接下來一樣透過控制台F12把結果給印出來。
一樣可以把字符串透過For of 的方法給迭帶出來,這樣子要取字符串單一個字時,就有方法可以方便使用者去操作了。
While循環
前面都在介紹關於for系列的循環,我們接下來要看的就是無窮迴圈循環,while迴圈!只要當條件成立時,就會不停地重複迴圈裡的內容,直到條件不成立,才會跳出迴圈。所以在使用時要特別小心,不然可會造成大當機,甚至瀏覽器崩潰喔!
範例
<p id="demo"></p>
<script>
let i = 0;
let text = "";
while (i < 10) {
text = text + "<br>現在數字到" + i;
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
我們將數字從0開始跑,當i大於10的時候,條件不成立,所以while迴圈停止。印出數字從0~10。
介紹完了while迴圈後,肯定要說他的好兄弟,Do/While迴圈!
Do/While迴圈
do/while迴圈是先做括號內要執行的事情,在檢查條件(while),檢查完後若是真的話,就會再執行括號內的內容,差別就是在於先做後檢查(do/while),還是先檢查後做(while迴圈)。
<p id="demo"></p>
<script>
let i = 0;
let text = "";
do {
text = text + "<br>現在數字是 " + i;
i++;
} while (i < 10);
document.getElementById("demo").innerHTML = text;
執行後一樣的結果,但不同的程式碼,是不是很神奇呢?明明都是一樣的,但邏輯不同後又百百種的寫法,無論是for還是while類迴圈都可以去迭帶重複程式碼,但使用上要格外注意,尤其是while迴圈,一不小心就會走到死胡同!
那今天的介紹就到這邊了,明天讓我們來看看陣列方法吧。